package com.google.code.server;

/**
 * Server
 * 
 * @author Nadim Benabdenbi
 * @version 1.0
 * @since JDK1.6
 * 
 */
public interface Server {
	
	/**
	 * starts the server
	 * 
	 * @throws Exception
	 */
	public void start() throws Exception;
	
	/**
	 * shutdown the server
	 * 
	 * @throws Exception
	 */
	public void shutdown() throws Exception;
	
	/**
	 * registers shutdown hook
	 * 
	 */
	public void registerShutdownHook();
	
	/**
	 * running indicator getter
	 * 
	 * @return
	 */
	public boolean isRunning();
}
